package com.whmall.service.crm.module.companyusererrorcorrection.service;

import com.whmall.component.entity.dto.PageReqDTO;
import com.whmall.component.entity.dto.PageRspDTO;
import com.whmall.service.crm.entity.dto.companyusererrorcorrection.CorrectionDTO;
import com.whmall.service.crm.entity.dto.companyusererrorcorrection.CorrectionListDTO;
import com.whmall.service.crm.module.companyusererrorcorrection.entry.qo.CorrectionQO;

/**
 * 纠错业务层
 *
 * @author qiao shengda
 * @since 2021/5/27
 */
public interface CompanyUserErrorCorrectionService {

    /**
     * 查询全部反馈 并分页
     *
     * @param pageReqDTO 分页
     * @param correctionQO 查询条件
     * @return 全部反馈
     * */
    PageRspDTO<CorrectionListDTO> page(PageReqDTO pageReqDTO, CorrectionQO correctionQO);

    /**
     * 回复内容
     *
     * @param id 回复ID
     * @param content 回复内容
     * @return 结果
     * */
    int response(Long id, String content);

    /**
     * 查询全部纠错 并分页
     *
     * @param pageReqDTO 分页
     * @param userId 纠错用户ID
     * @return 全部纠错
     * */
    PageRspDTO<CorrectionDTO> pageByUserId(PageReqDTO pageReqDTO, Long userId);

    /**
     * 新增一条纠错
     * @param userId 纠错用户ID
     * @param chemicalId 化学品ID
     * @param content 纠错内容
     * @return 纠错结果
     * */
    int save(Long userId, Long chemicalId, String content);

    /**
     * 删除反馈
     * @param id ID
     * @param userId 用户ID
     * @return 操作结果
     * */
    int remove(Long id, Long userId);

}
